package com.bt.lms.dao.servise;

import com.bt.lms.bo.StudentList;
import com.bt.lms.entity.StuBasicInfo;
import com.bt.lms.entity.page.Page;

import java.sql.SQLException;
import java.text.ParseException;

/**
 * 查看学员信息详情dao
 */
public interface StuStatusInfoDao {


    /**
     * 基本信息
     * @param sql sql语句
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectBasicInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;

    /**
     * 照片信息
     * @param sql sql语句
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectPictureInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;


    /**
     * 学员扩展信息
     * @param sql sql语句
     * @param stuBasicInfo 学员基本信息
     * @param id 学员id
     * @return 学员信息
     * @throws SQLException 异常
     */
    public StuBasicInfo selectStuExtend(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;


    /**
     * 家庭成员信息
     * @param sql sql语句
     * @param id 学员id
     * @param stuBasicInfo 学员信息
     * @return 学员信息
     */
    public StuBasicInfo selectFamilyMember(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;

    /**
     * 学籍基本信息
     * @param sql sql语句
     * @param stuBasicInfo 学员信息
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectStuStatusInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;

    /**
     * 注册信息
     * @param sql sql语句
     * @param stuBasicInfo 学员信息
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectRegisterInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;


    /**
     * 学籍异动信息*
     * @param sql sql语句
     * @param stuBasicInfo 学员信息
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectTransferInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException, ParseException;

    /**
     * 就业信息
     * @param sql sql语句
     * @param stuBasicInfo 学员信息
     * @param id 学员id
     * @return 学员信息
     */
    public StuBasicInfo selectEmploymentInfo(String sql, StuBasicInfo stuBasicInfo,Long id) throws SQLException;


    /**
     * 分页条件查询
     *
     * @param sql      sql语句
     * @param sqlCount
     * @return 查询到的数据
     */
    public Page<StudentList> selectPagingQuery(String sql, String sqlCount, Page<StudentList> page) throws SQLException;

    /**
     * 列表界面
     *
     * @param sqlCount
     * @param page 查询模型
     * @return 列表界面数据
     */
    public Page<StudentList> infoQuery( String sql, String sqlCount, Page<StudentList> page) throws SQLException;


}
